Some conventional communication networks route packets among nodes of the network using routing tables that are stored in the nodes. The routing tables generally identify a next-hop node based on the packet's destination. The next-hop node is generally the same for all packets having the same destination regardless of the packet's originating node. The routing tables are conventionally generated by selecting paths through the network in a hop-by-hop fashion based on next-hops with the lowest cost. In some wireless networks, this conventional routing approach may not select the best path through the network because the frequencies and/or time slots used by the communication links along a given path may interfere with each other resulting in increased packet delays, increased packet retransmissions, and reduced channel bandwidth.